package cloudgamesaumysql

import (
	"github.com/shopspring/decimal"
	"gorm.io/gorm"
	"time"
)

/*
  @author liubogeng
  @date   2025/2/25 21:44
*/

// CGGameAUPromotionPromoterDaily 云游戏AU推广员的日报表
type CGGameAUPromotionPromoterDaily struct {
	ID       int64  `json:"id" gorm:"column:id;type:bigint;primaryKey;autoIncrement;comment:ID"`
	Promoter string `json:"promoter" gorm:"column:promoter;type:varchar(512);not null;default:'';comment:推广员"`

	UV                           int64 `json:"uv" gorm:"column:uv;type:bigint;not null;default:0;comment:UV"`
	PV                           int64 `json:"pv" gorm:"column:pv;type:bigint;not null;default:0;comment:PV"`
	PlatformRegistrationQuantity int64 `json:"platform_registration_quantity" gorm:"column:platform_registration_quantity;type:bigint;not null;default:0;comment:平台注册"`
	AUGameRegistrationQuantity   int64 `json:"au_game_registration_quantity" gorm:"column:au_game_registration_quantity;type:bigint;not null;default:0;comment:游戏注册"`
	AUGameNewLoginQuantity       int64 `json:"au_game_new_login_quantity" gorm:"column:au_game_new_login_quantity;type:bigint;not null;default:0;comment:游戏新登"`
	AUGameActive                 int64 `json:"au_game_active" gorm:"column:au_game_active;type:bigint;not null;default:0;comment:游戏活跃"`

	FirstUserRechargeNum    int64           `json:"first_user_recharge_num" gorm:"column:first_user_recharge_num;type:bigint;not null;default:0;comment:首次充值人数"`
	FirstUserRechargeAmount decimal.Decimal `json:"first_user_recharge_amount" gorm:"column:first_user_recharge_amount;type:decimal(12,2);not null;default:0.00;comment:首次充值金额"`
	FirstUserPurchaseNum    int64           `json:"first_user_purchase_num" gorm:"column:first_user_purchase_num;type:bigint;not null;default:0;comment:首次消费人数"`
	FirstUserPurchaseAmount decimal.Decimal `json:"first_user_purchase_amount" gorm:"column:first_user_purchase_amount;type:decimal(12,2);not null;default:0.00;comment:首次消费金额"`

	ActiveUserRechargeNum    int64           `json:"active_user_recharge_num" gorm:"column:active_user_recharge_num;type:bigint;not null;default:0;comment:活跃充值人数"`
	ActiveUserRechargeAmount decimal.Decimal `json:"active_user_recharge_amount" gorm:"column:active_user_recharge_amount;type:decimal(12,2);not null;default:0.00;comment:活跃充值金额"`
	ActiveUserPurchaseNum    int64           `json:"active_user_purchase_num" gorm:"column:active_user_purchase_num;type:bigint;not null;default:0;comment:活跃消费人数"`
	ActiveUserPurchaseAmount decimal.Decimal `json:"active_user_purchase_amount" gorm:"column:active_user_purchase_amount;type:decimal(12,2);not null;default:0.00;comment:活跃消费金额"`

	TimeOfDaily time.Time      `json:"time_of_daily" gorm:"column:time_of_daily;type:datetime;comment:日报创建时间"`
	CreatedAt   time.Time      `json:"created_at" gorm:"column:created_at;type:datetime;comment:该条记录创建时间"`
	UpdatedAt   time.Time      `json:"updated_at" gorm:"column:updated_at;type:datetime;comment:该条记录修改时间"`
	DeletedAt   gorm.DeletedAt `json:"-" gorm:"index;type:datetime;comment:该条记录删除时间"`
}

func (CGGameAUPromotionPromoterDaily) TableName() string {
	return "cg_game_au_promotion_promoter_daily"
}
